package com.example.tuShare.DTO;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

@Data
public class StockTradeDTO {

    // 必填字段：所有代码的半角逗号分隔字符串 (例如："300033.SZ,600030.SH")
    private String codes;

    // 必填字段：所有指标的半角逗号分隔字符串 (例如："open,high")
    private String indicators;

    // 可选字段：FunctionPara（可选的键值对格式，只有在pricetype控件有效时生成）
    @JsonProperty("functionpara")
    private FunctionPara functionPara;

    private String endtime;
    private String starttime;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private String startdate; // 开始日期

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private String enddate; // 结束日期

    // 内部类：表示可选的FunctionPara，包含键值对
    @Data
    public static class FunctionPara {
        @JsonProperty("Fill")
        private String fill;

        @JsonProperty("Currency")
        private String currency;

        @JsonProperty("PriceType")
        private String priceType;

        @JsonProperty("Interval")
        private String interval;

        @JsonProperty("CPS")
        private String cps;
    }
}
